package cn.edu.zafu.bigdata.x.hjn;

import java.io.*;
import java.util.Scanner;

public class FileOperations {

    // 追加文本到文件的方法
    public static void appendToFile(String fileName, String content) {
        // 使用 try-with-resources 确保文件流正确关闭
        try (BufferedWriter writer = new BufferedWriter(new FileWriter(fileName, true))) {
            writer.write(content);
            writer.newLine();  // 在每次追加后添加换行符
            System.out.println("文本成功追加到文件：" + fileName);
        } catch (IOException e) {
            System.out.println("追加文件时发生错误: " + e.getMessage());
        }
    }

    // 读取文件内容的方法
    public static void readFile(String fileName) {
        // 使用 try-with-resources 确保文件流正确关闭
        try (BufferedReader reader = new BufferedReader(new FileReader(fileName))) {
            String line;
            System.out.println("文件内容如下：");
            // 按行读取并输出文件内容
            while ((line = reader.readLine()) != null) {
                System.out.println(line);
            }
        } catch (IOException e) {
            System.out.println("读取文件时发生错误: " + e.getMessage());
        }
    }

    // 主方法
    public static void main(String[] args) {
        // 创建 Scanner 对象用于接收用户输入
        Scanner scanner = new Scanner(System.in);

        // 提示用户输入文件名
        System.out.print("请输入文件名（例如：2022010101.txt）：");
        String fileName = scanner.nextLine();

        // 拼接文件路径
        String filePath = "files/" + fileName;

        // 创建文件夹如果不存在
        File directory = new File("files");
        if (!directory.exists()) {
            directory.mkdirs();
        }

        // 提示用户输入文本
        System.out.println("请输入要追加到文件的内容：");
        String content = scanner.nextLine();

        // 调用方法将用户输入的内容追加到文件
        appendToFile(filePath, content);

        // 读取并显示文件内容
        readFile(filePath);
    }
}

